package cn.iocoder.yudao.module.jikong.dal.dataobject.jkProduct;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;

/**
 * 疾控产品表 DO
 *
 * @author admin
 */
@TableName("jk_product")
@KeySequence("jk_product_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class JkProductDO extends BaseDO {

    /**
     * id
     */
    @TableId
    private Long id;
    /**
     * 样本产品id
     */
    private String productId;
    /**
     * 样本产品名称
     */
    private String name;
    /**
     * 样本产品分类
     */
    private Long typeId;
    /**
     * 启用状态
     *
     * 枚举 {@link TODO open_status 对应的类}
     */
    private Integer status;
    /**
     * 产品图片
     */
    private String picture;
    /**
     * 产品详情
     */
    private String detail;

    private Integer clickCount;

    private String description;

    @Schema(description = "项目id", example = "1")
    private Integer projectId;

    @Schema(description = "区域id", example = "1")
    private Integer areaId;

    @Schema(description = "规格id", example = "1")
    private Integer sizeId;

    private Integer resourceId;

    /**
     * 序列号
     */
    private String no;
    /**
     * 条形码
     */
    private String code;
    /**
     * 储存器皿
     */
    private String storageVessel;
    /**
     * 课题
     */
    private String researchTopic;
    /**
     * 菌种名称
     */
    private String strainName;
    /**
     * 病原名称
     */
    private String pathogenName;
    /**
     * 是否噬菌
     */
    private String bacteriophagy;
    /**
     * 保藏人
     */
    private String depositor;
    /**
     * 真实姓名
     */
    private String realName;
    /**
     * 年龄
     */
    private String age;
    /**
     * 身份证号
     */
    private String idNum;
    /**
     * 采样日期
     */
    private LocalDateTime samplingDate;
    /**
     * 病原级别
     */
    private String pathogenLevel;
    /**
     * 检测样本类型
     */
    private String sampleType;
    /**
     * 检测结果
     */
    private String testResults;
    /**
     * 采样人
     */
    private String samplingPersonnel;
    /**
     * 检测人
     */
    private String inspector;
    /**
     * 检测日期
     */
    private LocalDateTime testDate;

    private String productData;
}
